Clustered or distributed computing generally utilizes a central controller entity (e.g., a queue manager or controller program). As a result, these systems can be limited by a single point of failure. In other words, if the central controlling entity of the respective systems fails, then the entire system is prone to failure and may suffer from system downtime. In addition, since operation of the above systems may involve the transmission and downloading of computer-executable code, the systems are susceptible to viral infection. Moreover, clustered or distributed computing systems do not effectively scale to mobile devices.
Mobile devices typically have reduced hardware capabilities, thereby limiting the scope and number of applications which can be installed and executed on the mobile device's hardware. Given the trend to continuously miniaturize mobile devices, they generally have less memory than a computer, a slower and reduced micro-processor, and rely on a limited-capacity battery as the power source. In addition, network connectivity may be less robust as the mobile device moves in and out of network connectivity range.
The impact of a mobile application on the mobile device's battery life can depend upon, for example, the nature of the application, the demand it places on the micro-processor, and/or the length of time the radio hardware remains connected to the network. These factors, along with the trend to yet further decrease the size/form factors of mobile devices, cause a significant barrier and hindrance to the increasing trend of consumers to load and run multiple applications on mobile devices.